/*
 * @lc app=leetcode.cn id=1047 lang=cpp
 *
 * [1047] 删除字符串中的所有相邻重复项
 */

// @lc code=start
class Solution {
public:
    string removeDuplicates(string s) {
        std::vector<char> st;
        for (int i = 0; i < s.size(); i++) {
            bool flag = false;
            while (st.size() > 0 && st.back() == s[i]) {
                st.pop_back();
                flag = true;
            }

            if (!flag)
                st.push_back(s[i]);
        }

        std::string result;

        for (int i = 0; i < st.size(); i++)
            result += std::move(st[i]);

        return result;
    }
};
// @lc code=end

